///******************************************************************************* // * Copyright (c) 2000, 2006 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ //package org.eclipse.ui.tests.datatransfer; // //import java.io.File; //import java.io.IOException; //import java.io.InputStream; //import java.util.ArrayList; //import java.util.List; //import java.util.Properties; // //import org.eclipse.core.resources.IContainer; //import org.eclipse.core.resources.IProject; //import org.eclipse.core.resources.IResource; //import org.eclipse.core.runtime.CoreException; //import org.eclipse.core.runtime.IPath; //import org.eclipse.core.runtime.IStatus; //import org.eclipse.core.runtime.Path; //import org.eclipse.core.tests.harness.FileSystemHelper; //import org.eclipse.ui.dialogs.IOverwriteQuery; //import org.eclipse.ui.tests.harness.util.FileUtil; //import org.eclipse.ui.tests.harness.util.UITestCase; //import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider; //import org.eclipse.ui.wizards.datatransfer.ImportOperation; // //public class ImportOperationTest extends UITestCase implements IOverwriteQuery { // // private static final String[] directoryNames = { "dir1", "dir2" }; // // private static final String[] fileNames = { "file1.txt", "file2.txt" }; // // private String localDirectory; // // private IProject project; // // public ImportOperationTest(String testName) { // super(testName); // } // // private void createSubDirectory(String parentName, String newDirName) // throws IOException { // String newDirPath = parentName + File.separatorChar + newDirName; // File newDir = new File(newDirPath); // newDir.mkdir(); // for (int i = 0; i < directoryNames.length; i++) { // createFile(newDirPath, fileNames[i]); // } // } // // private void createFile(String parentName, String filePath) // throws IOException { // String newFilePath = parentName + File.separatorChar + filePath; // File newFile = new File(newFilePath); // newFile.createNewFile(); // } // // /* // * @see IOverwriteQuery#queryOverwrite(String) // */ // public String queryOverwrite(String pathString) { // //Always return an empty String - we aren't // //doing anything interesting // return ""; // } // // protected void doSetUp() throws Exception { // super.doSetUp(); // Class testClass = Class // .forName("org.eclipse.ui.tests.datatransfer.ImportOperationTest"); // InputStream stream = testClass.getResourceAsStream("tests.ini"); // Properties properties = new Properties(); // properties.load(stream); // localDirectory = properties.getProperty("localSource"); // setUpDirectory(); // } // // /** // * Set up the directories and files used for the test. // */ // // private void setUpDirectory() throws IOException { // File rootDirectory = new File(localDirectory); // rootDirectory.mkdir(); // localDirectory = rootDirectory.getAbsolutePath(); // for (int i = 0; i < directoryNames.length; i++) { // createSubDirectory(localDirectory, directoryNames[i]); // } // } // // /** // * Tear down. Delete the project we created and all of the // * files on the file system. // */ // protected void doTearDown() throws Exception { // super.doTearDown(); // try { // project.delete(true, true, null); // File topDirectory = new File(localDirectory); // FileSystemHelper.clear(topDirectory); // } catch (CoreException e) { // fail(e.toString()); // } // finally{ // project = null; // localDirectory = null; // } // } // // public void testGetStatus() throws Exception { // project = FileUtil.createProject("ImportGetStatus"); // File element = new File(localDirectory); // List importElements = new ArrayList(); // importElements.add(element); // ImportOperation operation = new ImportOperation(project.getFullPath(), // FileSystemStructureProvider.INSTANCE, this, importElements); // // assertTrue(operation.getStatus().getCode() == IStatus.OK); // } // // public void testImportList() throws Exception { // project = FileUtil.createProject("ImportList"); // File element = new File(localDirectory); // List importElements = new ArrayList(); // importElements.add(element); // ImportOperation operation = new ImportOperation(project.getFullPath(), // FileSystemStructureProvider.INSTANCE, this, importElements); // openTestWindow().run(true, true, operation); // // verifyFiles(directoryNames.length); // } // // public void testImportSource() throws Exception { // project = FileUtil.createProject("ImportSource"); // ImportOperation operation = new ImportOperation(project.getFullPath(), // new File(localDirectory), FileSystemStructureProvider.INSTANCE, // this); // openTestWindow().run(true, true, operation); // verifyFiles(directoryNames.length); // } // // public void testImportSourceList() throws Exception { // project = FileUtil.createProject("ImportSourceList"); // File element = new File(localDirectory + File.separator // + directoryNames[0]); // List importElements = new ArrayList(); // importElements.add(element); // ImportOperation operation = new ImportOperation(project.getFullPath(), // new File(localDirectory), FileSystemStructureProvider.INSTANCE, // this, importElements); // openTestWindow().run(true, true, operation); // verifyFiles(importElements.size()); // } // // public void testSetContext() throws Exception { // project = FileUtil.createProject("ImportSetContext"); // File element = new File(localDirectory); // List importElements = new ArrayList(); // importElements.add(element); // ImportOperation operation = new ImportOperation(project.getFullPath(), // FileSystemStructureProvider.INSTANCE, this, importElements); // // operation.setContext(null); // operation.setContext(openTestWindow().getShell()); // } // // public void testSetCreateContainerStructure() throws Exception { // project = FileUtil.createProject("ImportSetCreateContainerStructure"); // File element = new File(localDirectory); // List importElements = new ArrayList(); // importElements.add(element); // ImportOperation operation = new ImportOperation(project.getFullPath(), // FileSystemStructureProvider.INSTANCE, this, importElements); // // operation.setCreateContainerStructure(false); // openTestWindow().run(true, true, operation); // // try { // IPath path = new Path(localDirectory); // IResource targetFolder = project.findMember(path.lastSegment()); // // assertTrue("Import failed", targetFolder instanceof IContainer); // // IResource[] resources = ((IContainer) targetFolder).members(); // assertEquals("Import failed to import all directories", // directoryNames.length, resources.length); // for (int i = 0; i < resources.length; i++) { // assertTrue("Import failed", resources[i] instanceof IContainer); // verifyFolder((IContainer) resources[i]); // } // } catch (CoreException e) { // fail(e.toString()); // } // } // // public void testSetFilesToImport() throws Exception { // project = FileUtil.createProject("ImportSetFilesToImport"); // File element = new File(localDirectory + File.separator // + directoryNames[0]); // ImportOperation operation = new ImportOperation(project.getFullPath(), // new File(localDirectory), FileSystemStructureProvider.INSTANCE, // this); // List importElements = new ArrayList(); // importElements.add(element); // operation.setFilesToImport(importElements); // openTestWindow().run(true, true, operation); // verifyFiles(importElements.size()); // } // // public void testSetOverwriteResources() throws Exception { // project = FileUtil.createProject("ImportSetOverwriteResources"); // File element = new File(localDirectory); // List importElements = new ArrayList(); // importElements.add(element); // ImportOperation operation = new ImportOperation(project.getFullPath(), // FileSystemStructureProvider.INSTANCE, this, importElements); // // openTestWindow().run(true, true, operation); // operation.setOverwriteResources(true); // openTestWindow().run(true, true, operation); // } // // /** // * Verifies that all files were imported. // * // * @param folderCount number of folders that were imported // */ // private void verifyFiles(int folderCount) { // try { // IPath path = new Path(localDirectory); // IResource targetFolder = project.findMember(path.makeRelative()); // // assertTrue("Import failed", targetFolder instanceof IContainer); // // IResource[] resources = ((IContainer) targetFolder).members(); // assertEquals("Import failed to import all directories", // folderCount, resources.length); // for (int i = 0; i < resources.length; i++) { // assertTrue("Import failed", resources[i] instanceof IContainer); // verifyFolder((IContainer) resources[i]); // } // } catch (CoreException e) { // fail(e.toString()); // } // } // // /** // * Verifies that all files were imported into the specified folder. // */ // private void verifyFolder(IContainer folder) { // try { // IResource[] files = folder.members(); // assertEquals("Import failed to import all files", fileNames.length, // files.length); // for (int j = 0; j < fileNames.length; j++) { // String fileName = fileNames[j]; // int k; // for (k = 0; k < files.length; k++) { // if (fileName.equals(files[k].getName())) // break; // } // assertTrue("Import failed to import file " + fileName, // k < fileNames.length); // } // } catch (CoreException e) { // fail(e.toString()); // } // } //}